1. Field of the Invention
The present invention relates to a data process technology for processing data from a sensor used in a robot, etc. and a configuration technology for a language process interface used for providing instructions to a robot or a device, etc. from a user. In particular, the present invention relates to a method and apparatus for processing data with words (data to which words are attached), which provide the classification and storage methods for the sensor data and the usage method for the stored data for easily assessing the circumstances based on the sensor data, and further provide means for linking the human language to a behavior and operation of a robot, a data storing method thereof, and the usage method for the stored data.
2. Description of the Related Art
In a general sensor data processing method, a certain characteristic is extracted by performing a numerical process on the sensor data, and a next process method is determined or modified according to the characteristic. At this time, although a certain condition is assumed based on the characteristic value obtained from the sensor data and the next process method is determined, the condition is assumed only by a predetermined procedure because the characteristic, the value, and the classification expected in the next process are all predetermined.
Since a sensor used in a robot, etc. is a device for measuring a certain state or a change of this state, it is desirable to be able to correctly judge the status and state of the location from the obtained sensor data. However, since, generally speaking, the amount of data from a sensor is enormous, and in most cases the sensor data may include errors due to noise, etc., it is very difficult to make a simple status judgement based on a list of numerical values of the sensor data.
On the other hand, generally speaking in a command provided for operating a device such as a robot, etc., the speed or the location of the robot is directly designated by a numerical value, such as a command to operate at a speed of 1 m/sec., to rotate at 1 rad./sec., or to move to a location (100, 200). In electric home appliances such as an air conditioner, etc., there are only such setting commands as for setting a temperature to 20 degrees, setting the air conditioner to a “dry mode”, “sleep mode”, etc. based on predetermined setting values.
However, when one man gives an instruction to another man, an instruction is not given like this. An instruction which is given from one man to another is usually an abstract instruction, simply like “Walk!” or “Walk faster!”, in which the speed or the angle of the legs are not specified. In electric home appliances such as an air conditioner, etc. saying “Higher temperature!” or “Cooler!” is more natural than designating a numerical value such as 20 degrees.
If an instruction can be given to devices such as a robot, air conditioner, etc. using these expressions, it can be expected to provide a more natural interface between a man and a machine.
In addition, there is a problem in the case where an instruction is given to a machine using natural words like these, in that an instruction to increase a temperature varies depending on the person issuing the command. For example, one person may say “Higher temperature!”, but another person may say “Raise the temperature!”. “Warmer!” can also be used with the same meaning.
Conventionally, since in order to solve this problem a variety of types of instructions are anticipated, listed, and stored, configuring a system for understanding commands like these requires a lot of work and an enormous memory capacity, and therefore is not practical.
In other words, conventionally, since there is no means for learning and storing the specific meanings of the commands “Warmer!”, “Walk!”, etc., a system which can flexibly respond to these commands has not been realized.
As described above, although a certain kind of state and a change of the state can be determined based on the sensor data, it is difficult for men to judge the condition of a target object by observing the sensor data, because the sensor data are not appropriately classified. Since a characteristic obtained from the sensor data is also not provided with a systematic name, and even if the sensor data is provided with a name, there is a problem that a man cannot understand the state indicated by the sensor data based on the name, since the name is a meaningless mechanical description.
When a man instructs a robot or a device to do something, there is also a problem that an interface between the man and the machine accepts only such an instruction format as to directly set a value, since a machine does not have means for learning the correspondence between men and the behavior patterns of the machine, or the correspondence in values to be changed.
The present invention is made in order to solve the above-mentioned problems, and it is an object of the present invention to be able to easily understand a state indicated by the sensor data of a machine such as a robot, etc. based on a natural language, and to operate a machine, such as a robot, etc., using natural words.
Namely, it is an object of the present invention to easily judge a status and to execute a process corresponding to the status by providing a new classifying means for sensor data, efficiently simplifying and storing an enormous amount of data, and extracting and determining, the data if judgement of the status is needed. It is another object of the present invention to provide both language processing and device operating means for a machine's learning process and storing a correspondence between an instruction from men and the operation of the machine, learning to operate according to a command, even if the instruction is vague, and storing correct operations.